regexp/syntax.Regexp.Sub (field)
95 uses
regexp/syntax (current package)
compile.go#L129: sub := c.compile(re.Sub[0])
compile.go#L133: return c.star(c.compile(re.Sub[0]), re.Flags&NonGreedy != 0)
compile.go#L135: return c.plus(c.compile(re.Sub[0]), re.Flags&NonGreedy != 0)
compile.go#L137: return c.quest(c.compile(re.Sub[0]), re.Flags&NonGreedy != 0)
compile.go#L139: if len(re.Sub) == 0 {
compile.go#L143: for i, sub := range re.Sub {
compile.go#L153: for _, sub := range re.Sub {
parse.go#L147: for _, sub := range re.Sub {
parse.go#L299: re.Sub = re.Sub0[:1]
parse.go#L300: re.Sub[0] = sub
parse.go#L336: for _, sub := range re.Sub {
parse.go#L422: re.Sub = re.Sub0[:0]
parse.go#L425: re.Sub = append(re.Sub, sub.Sub...)
parse.go#L428: re.Sub = append(re.Sub, sub)
parse.go#L432: re.Sub = p.factor(re.Sub)
parse.go#L433: if len(re.Sub) == 1 {
parse.go#L435: re = re.Sub[0]
parse.go#L510: re.Sub = append(re.Sub[:0], prefix, suffix)
parse.go#L543: (isCharClass(first) || (first.Op == OpRepeat && first.Min == first.Max && isCharClass(first.Sub[0]))) {
parse.go#L567: re.Sub = append(re.Sub[:0], prefix, suffix)
parse.go#L641: if re.Op == OpConcat && len(re.Sub) > 0 {
parse.go#L642: re = re.Sub[0]
parse.go#L653: if re.Op == OpConcat && len(re.Sub) > 0 {
parse.go#L656: sub := re.Sub[0]
parse.go#L658: re.Sub[0] = sub
parse.go#L661: switch len(re.Sub) {
parse.go#L665: re.Sub = nil
parse.go#L668: re = re.Sub[1]
parse.go#L671: copy(re.Sub, re.Sub[1:])
parse.go#L672: re.Sub = re.Sub[:len(re.Sub)-1]
parse.go#L693: if re.Op == OpConcat && len(re.Sub) > 0 {
parse.go#L694: sub := re.Sub[0]
parse.go#L707: if re.Op == OpConcat && len(re.Sub) > 0 {
parse.go#L709: p.reuse(re.Sub[0])
parse.go#L711: re.Sub = re.Sub[:copy(re.Sub, re.Sub[1:])]
parse.go#L712: switch len(re.Sub) {
parse.go#L715: re.Sub = nil
parse.go#L718: re = re.Sub[0]
parse.go#L1291: re2.Sub = re2.Sub0[:1]
parse.go#L1292: re2.Sub[0] = re1
regexp.go#L20: Sub []*Regexp // subexpressions, if any
regexp.go#L88: if len(x.Sub) != len(y.Sub) {
regexp.go#L91: for i, sub := range x.Sub {
regexp.go#L92: if !sub.Equal(y.Sub[i]) {
regexp.go#L98: if x.Flags&NonGreedy != y.Flags&NonGreedy || !x.Sub[0].Equal(y.Sub[0]) {
regexp.go#L103: if x.Flags&NonGreedy != y.Flags&NonGreedy || x.Min != y.Min || x.Max != y.Max || !x.Sub[0].Equal(y.Sub[0]) {
regexp.go#L108: if x.Cap != y.Cap || x.Name != y.Name || !x.Sub[0].Equal(y.Sub[0]) {
regexp.go#L193: if re.Sub[0].Op != OpEmptyMatch {
regexp.go#L194: writeRegexp(b, re.Sub[0])
regexp.go#L198: if sub := re.Sub[0]; sub.Op > OpCapture || sub.Op == OpLiteral && len(sub.Rune) > 1 {
regexp.go#L227: for _, sub := range re.Sub {
regexp.go#L237: for i, sub := range re.Sub {
regexp.go#L298: for _, sub := range re.Sub {
regexp.go#L317: for _, sub := range re.Sub {
simplify.go#L22: for i, sub := range re.Sub {
simplify.go#L29: nre.Sub = append(nre.Sub0[:0], re.Sub[:i]...)
simplify.go#L32: nre.Sub = append(nre.Sub, nsub)
simplify.go#L38: sub := re.Sub[0].Simplify()
simplify.go#L49: sub := re.Sub[0].Simplify()
simplify.go#L65: nre.Sub = nre.Sub0[:0]
simplify.go#L67: nre.Sub = append(nre.Sub, sub)
simplify.go#L69: nre.Sub = append(nre.Sub, simplify1(OpPlus, re.Flags, sub, nil))
simplify.go#L88: prefix.Sub = prefix.Sub0[:0]
simplify.go#L90: prefix.Sub = append(prefix.Sub, sub)
simplify.go#L99: nre2.Sub = append(nre2.Sub0[:0], sub, suffix)
simplify.go#L105: prefix.Sub = append(prefix.Sub, suffix)
simplify.go#L144: if re != nil && re.Op == op && re.Flags&NonGreedy == flags&NonGreedy && sub == re.Sub[0] {
simplify.go#L149: re.Sub = append(re.Sub0[:0], sub)
regexp
regexp.go#L289: return minInputLen(re.Sub[0])
regexp.go#L291: return re.Min * minInputLen(re.Sub[0])
regexp.go#L294: for _, sub := range re.Sub {
regexp.go#L299: l := minInputLen(re.Sub[0])
regexp.go#L301: for _, sub := range re.Sub[1:] {